// pages/personal/personal.js
import { getUserInfo } from '../../utils/localCache'
import request from '../../utils/request'
let startY = '' // 起始y坐标
let endY = '' // 结束y坐标
let moveY = '' // 移动多少
Page({
  /**
   * 页面的初始数据
   */
  data: {
    translate: '', // 页面移动
    transition: '0.2s', // 过渡动画
    userInfo: {}, // 用户信息
    userB: '', // 用户个人背景
    playbackRecord: [] // 播放记录
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取本地用户信息
    this.getUser()
  },

  // 事件 -> 手指触摸触发
  animationstart(e) {
    startY = e.touches[0].clientY
    this.setData({ transition: '0.2s' }) // 置空动画
  },

  // 事件 -> 手指触摸后移动触发
  animationmove(e) {
    endY = e.touches[0].clientY
    moveY = endY - startY
    // 禁止向上滑
    if (moveY < 0) {
      return
    }
    // 最大滑80rpx
    if (moveY > 80) {
      return
    }
    this.setData({ translate: `translateY(${moveY}rpx)` })
  },

  // 事件 -> 手指触摸动作结束触发
  animationend(e) {
    this.setData({ transition: '0.5s' }) // 会退时设置动画
    // 松开回到原位
    this.setData({ translate: '' })
  },

  // 点击头像跳转登录
  async toLogin() {
    try {
      const { data } = await getUserInfo()
      if (data.nickname) {
        return
      }

    } catch (error) {
      wx.navigateTo({ url: '/pages/login/login' })
    }

  },

  // 钩子函数 -> 获取本地用户信息
  async getUser() {
    // 判断本地是否有用户信息
    try {
      const { data } = await getUserInfo()
      if (data.nickname) {
        this.setData({ userInfo: data })
        this.setData({ userB: "background-image:url('" + this.data.userInfo.backgroundUrl + "')" })
      }

      // 获取用户播放记录
      let playbackRecord = await request('/user/record', { uid: data.userId, type: 0 })
      playbackRecord = playbackRecord.allData.splice(0, 10) // 截取前10播放记录
      this.setData({ playbackRecord })
    } catch (error) {
      // console.log(error);
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})